Interstorage transfer mechanism

ABSTRACT

Described is an interstorage transfer mechanism suitable for use in a storage control system for a two-level storage, wherein the storage system includes a high-speed storage against which requests for data are processed and a slower, larger-capacity main storage. Requests can be received and serviced concurrently at a plurality of request ports in the system where they are buffered in the request stacks. A tag storage serves as an index to the data concurrently resident in high-speed storage and a directory storage acts as an index to data currently in main storage. Requests for data in each port cause the tag storage to be interrogated to determine whether the desired data is in highspeed storage. If not, then the desired data is retrieved from main storage and placed into high-speed storage by the interstorage transfer mechanism. Priority means for accessing said high-speed storage are provided, said interstorage transfer mechanism being given first priority to access said high-speed and tag storages in case of conflicts in access between said interstorage transfer mechanism and at least one of said plurality of request ports. Means are provided for choosing a target address in High-speed storage wherein said desired data will be relocated. The tag indexing said target address is updated by said interstorage transfer mechanism to reflect the new data. Means are further provided for invalidating all requests currently in transit at the time said tag is changed to insure data integrity in case said requests refer to old data in said target line. The aforementioned tags contain a bit indicating that the corresponding address in high-speed storage has recently been accessed. Cold generator means are provided for periodically resetting this bit in each tag to mark the corresponding high-speed storage physical address as a candidate for replacement target.

United States Patent Arnold et al. 1 June 13, 1972 [$4] INTERSTORAGE TRANSFER [57] ABSTRACT MECHANISM Described is an interstorage transfer mechanism suitable for [72] Inventors: W E Arnold, p Alto, m; use in astorage control system foratwo-level storage, wherein Philip S. Dauher, Ossining; Charles V. Freimnn, Pleasantville, both of N.Y.; Russel J. Robelen, Palo Alto; John R. Wienblclti, Saratoga, both of Calif.

[73] Assignee: International Business Machines Corporation, Armonk, NY.

[22] Filed: Dec. 23, 1969 [21] Appl. No.: 887,467

[52] US. Cl. ..340/l72.5 [51] Int. Cl ..Gllc 9/00, G06f 13/00 [58] Field ofSearch ..340/172.5

[56] References Cited UNlTED STATES PATENTS 3,217,298 11/1965 Kilbum et a1 ..340/172.5 3,218,611 11/1965 Kilburn et a1.. ...........340/172.5 3,292,152 12/1966 Barton ..340/172.5 3,292,153 12/1966 Barton et a1. ....340/172.5 3,341,817 9/1967 Smeltzer ....340/172.5 3,394,353 7/1968 Bloom et a1. ....340/172.5 3,422,401 1/1969 Lucking..,.................... ...340/172.5 3,478,321 1 H1969 Cooper et a1. ..340/172.5

Primary Examiner-Gareth D. Shaw AtrorneyHanifin and Jancin and Peter R. Lea] ri. 1 V V 1 u ll us: rs h mum mum the storage system includes a high-speed storage against which requests for data are processed and a slower, larger-capacity main storage. Requests can be received and serviced concurrently at a plurality of request ports in the system where they are buffered in the request stacks. A tag storage serves as an index to the data concurrently resident in high-speed storage and a directory storage acts as an index to data currently in main storage. Requests for data in each port cause the tag storage to be interrogated to determine whether the desired data is in high-speed storage. It not, then the desired data is retrieved from main storage and placed into high-speed storage by the interstorage transfer mechanism. Priority means for accessing said high-speed storage are provided, said interstorage transfer mechanism being given first priority to access said high-speed and tag storages in case of conflicts in access between said interstorage transfer mechanism and at least one of said plurality of request ports. Means are provided for choosing a target address in High-speed storage wherein said desired data will be relocated. The tag indexing said target address is updated by said interstorage transfer mechanism to reflect the new data. Means are further provided for invalidating all requests currently in transit at the time said tag is changed to insure data integrity in case said requests refer to old data in said target line. The aforementioned tags contain a bit indicating that the corresponding address in high-speed storage has recently been accessed. Cold generator means are provided for periodically resetting this bit in each tag to mark the corresponding high-speed storage physical address as a candidate for replacement target.

10 Chins, 90 Drawing Flgures PATENTEDJUH 13 m2 sum 01 ur 54 {7| 6 1 PREO om N Jp JL P sEouEncE REQUEST mmuocx REOIJEST STACK mumon arm I P a PRIORITY 7 PRIORITY mummy a HASH a HASH & HASH L 14 as I s9 ass TS -31 PRIORITY N15 PRIORITY \H RESOLVER RESOLVER 18 & P 2s a DECISlOII OECISIOII n a l I 1 1 23 24 R so 4h. mnsrsn mu m mnmoav smn STORAGE Home STORAGE INVENTORS. l memo F. mom 2? PHILIP s. DAUBER 1 CHARLES v. mum

21 RUSSELL J. ROBELEN JOHN R. IIERZBICKI POUT oour BY pm 217! ATTORNEY PATENTEOJun 13 m2 FIG.IA

FIG. IB

FIG.

FIG. IB

GATE IIIOOIIIIIG P REOUEST TO P REOUEST STAOA ,3. AND P PRIORITY AREA sum 02 or s4 smn mconm no P REQUEST AVAII5ABLE REQUEST IE5 mm P REQUEST STACK Ell YES

P REQUEST smx YES FULL ea IS m P no sncx REQUEST YES READY roa PRIORITY cm IIICOIIIIIG 5c REQUEST TO P REQUEST sncx AND s.1.c.

GENERATE IIITERLOCK FOR mconmc REQUEST OATE AN AVAILABLE REOUEST COIITEIIOS FOR PRIORITY HASH V.A.

PATEIITEDJUII 12 1912 sum 03 0F 54 ARE DATA AND TAG CDNFLIGTS RESDgNED 25A f A" GATE TAGS D DATA TD P DEGISIDN UNIT INITIATE INTERSTDRAGE TRANSFER I S 1ST GDNP?LETE I5 DESIRED SELECTED IISS IN EITHER YES ABORT FIG. IC

IS REQUEST |NTERI5DCKED REDIIEST GATED FRDN REDIJEST STAGK T0 PRIORITY AREA OPERATE 0N DESIRED VA.

PREFETCH ANTICIPATED DATA IF APPLICABLE END PATENTED 3.670.307

sum 01 0F 54 FIG. 20

0 H88 0 TAG CELL 40H CELL 4013 (M627) (FIG.28)

Q DECISION (FIG. 51)

R TRANSFER R TAG CELL (FIG. 50)

R HSS CELL (FIG-49) PA'T'ENT'EDJIIII I 3 I572 3.670, 307

sum 1a or 54 FIG. 4 l l THIS FIGURE Is ILLUSTRATIVE OFA LIKE-NUMBERED FIGURE WHICH Is SHOWN IN I DETAIL IN SAID STORAGE CONTROL SYSTEM, IBM DOCKET sIssmz mu FILED EVEN DATEHEREWITH I I I i I I I l l FIG. 28 I THIS FIGURE IS ILLUSTRATIVE OFA LIKE- NUMBERED FIGURE WHICH IS SHOWN IN DETAIL IN SAID STORAGE CONTROL SYSTEM,

IBM DOCKET SASSTHZ FILED EVEN DATE HEREVHTH PATENTERJUR 13 1912 3. 6 70.30 7

sum 1s or s4 FIGS.40,43C FROM R TRANSFER (4M6) UIBTZS fi 10 P900 [5902 Pampas F954 {3956! CLOCK REGISTER DELAY EQUAL TO MS ACCESS TIME 13908 2910 *ZSTZ 29M 4216 4218 T0 T0 R TRANSFER MS FETCH DATA (4016) REGISTERS FIGS.40,42A (4296) FIG. 30A

MS DATA CELL FIG. 29B 

1. In a system wherein requests to access data in a storage system are received from a plurality of requestors at individual request ports, and said storage system comprises a main storage containing a large amount of data, a high-speed storage containing a lesser amount of data against which said requests are processed, a high-speed-storage index for indexing the data currently resident in said high-speed-storage, and control means for concurrently servicing said requests for accessing data from said high-speed-storage means, the combination of an interstorage transfer mechanism for transferring data between said high-speed storage and said main storage comprising: a. control apparatus including first storage means for storing the address of a target location in said high-speed storage into which new data is to be transferred to replace old data resident in such location and second storage means for storing control information to control said transfer; b. indicating means in said high-speed storage index for indicating the status of old data therein as to whether the contents of said target location are changed or unchanged relative to the data initially stored therein; c. means for accessing said indicating means in said high-speedstorage index and providing a signal indicative of said status; d. means responsive to said signal indicating a changed status for transferring said old data from said target location into said main storage; e. means responsive to said signal indicating an unchanged status or to the completion of the transfer of said old data, for accessing said main storage and retrieving therefrom, under control of said control information, said new data to be transferred; and means for accessing said high-speed storage for transferring into said target location said new data retrieved from said main storage.
 2. The combination of claim 1 including means for appending to said high-speed-storage index to said target location an indication that data is in transit between said main storage and said target location.
 3. The combination of claim 2 wherein said request for access to data identifies the location of such data in terms of a logical address.
 4. The combination of claim 3 further including means connected to receive requests from said ports for randomizing each said logical address into a plurality of physical addresses.
 5. The combination of claim 4 comprising: a plurality of main storage output buffers connected to said main storage for receiving said retrieved data from said main storage.
 6. The combination of claim 5 comprising: a plurality of input buffers, greater in number than said plurality of main storage output buffers, said input buffers being connected to said high-speed storage.
 7. The combination of claim 6 wherein data words are retrieved from main storage in groups containing less data entities than are containable in said plurality of input buffers.
 8. The combination of claim 7 further including selectively actuated means for gating said data entities from said main storage output buffers to said high-speed storage input buffers in different formats.
 9. The combination of claim 1 wherein said interstorage transfer mechanism includes means for operating said mechanism concurrently while other requests are being serviced in said storage system.
 10. The combination of claim 1 wherein said interstorage transfer mechanism includes means for invalidating requests in progress through said storage system substantially concurrently with said accessing of said high-speed storage indices. 